import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // 菜单栏数据
    menu: sessionStorage.getItem('menu') ? JSON.parse(sessionStorage.getItem('menu')) : [],
    // token令牌
    token: sessionStorage.getItem('token') || '',
    // auth权限
    auth: sessionStorage.getItem('auth') ? JSON.parse(sessionStorage.getItem('auth')) : []
  },
  mutations: {
    // 设置菜单数据的格式
    setMenu(state, menu) {
      // 用sessionStorage存储数据
      sessionStorage.setItem('menu', JSON.stringify(menu))
      state.menu = menu
    },
    // 设置令牌token格式
    setToken(state, token) {
      // 用sessionStorage存储数据
      sessionStorage.setItem('token', token)
      state.token = token
    },
    // 设置权限auth_path格式
    setAuth(state, auth) {
      // 用sessionStorage存储数据
      sessionStorage.setItem('auth', JSON.stringify(auth))
      state.auth = auth
    },
    // 注销 - 清空数据
    logout(state) {
      sessionStorage.clear()
      state.token = ''
      state.menu = []
      state.auth = []
    }
  },
  actions: {},
  modules: {}
})
